In the field of digital communications, digital information is typically prepared for transmission through a channel by encoding it. The encoded data is then used to modulate a transmission to the channel. A transmission received from the channel is then demodulated and decoded to recover the original information.
Encoding the digital data serves to improve communication performance so that the transmitted signals are less corrupted by noise, fading, or other interference associated with the channel. The term “channel” can include media such as transmission lines, wireless communication and information storage devices such as magnetic, optical or magneto-optical disc drives. In the case of information storage devices, the signal is stored in the channel for a period of time before it is accessed or received. In digital magnetic recording systems, data is recorded in a magnetic layer of the storage media by a transducer. Information is written to the media by switching the direction of write current, which flows through a winding of the transducer. Each transition of the write current will result in a reversal of magnetization in the magnetic layer. In recording systems where magnetic orientation is aligned perpendicularly to the media surface, a binary digit “1” can be represented by the magnetic alignment in one direction, and a binary digit “0” can be represented by an alignment in the opposite direction. When data is to be recovered from the media, a read transducer travels over the media. Each flux reversal induces a voltage change in the read transducer.
Encoding can reduce the probability of noise being introduced into a recovered digital signal when the encoding is adapted to the known characteristics of the data and its interaction with known noise characteristics of the channel. In typical encoding arrangements, data words of m data bits are encoded into larger code words of n code bits, and the ratio m/n is known as the code rate of the encoder. Usually, the code imposes certain constraints on the code words such that the performance of data recovery from the channel is enhanced. For example, the variation of rotational speed of the motor that drives the media in digital recording systems results in non-uniform time intervals between read signal voltage pulses. Instead of using absolute time, the read back signal itself is used to generate the timing signal. A phase lock oscillator (PLO) is used to lock the phase of the timing clock to the phase of the read back voltage. As stated above, a magnetic transition will induce a read back voltage change. To ensure that the PLO is updated frequently, the code limits the run length of strings of either binary digit “0” or “1”.
In certain applications, such as in perpendicular recording within digital recording systems, it is desirable for encoded channel sequences to have a spectral null at low frequency. A data sequence of low DC content may avoid DC wandering in the digital receiver and minimize intersymbol interference due to the low frequency cutoff introduced by AC coupled preamplifiers. In other words, sequences with low DC content are desirable. Given a sequence of binary digits, if each binary digit “1” is translated into a plus one (+1) and each binary digit “0” is translated into a minus one (−1), the sequence will be DC-restricted if the running digital sum of the bipolar sequence is bounded. The running digital sum is the sum of all values (+1 and −1) in the bipolar sequence. When the variation of the running digital sum is kept to a small value, the sequence is known to have a tight bound. A tighter bound can improve the performance of the channel.
There is a need for DC-restricted codes that are amenable to practical implementations. It has been found that the mapping of binary input strings into code words having a bounded running digital sum tends to be complex. This complexity can result in considerable engineering effort being consumed to define the encoding and decoding rules and can require complex software or hardware to implement. A DC-restricted code is desired that has limited complexity and a higher code rate.
Various embodiments of the present invention address these problems, and offer other advantages over the prior art.